home *** CD-ROM | disk | FTP | other *** search
/ Aminet 33 / Aminet 33 - October 1999.iso / Aminet / docs / misc / amigapl.9811.lzh / amigapl.9811 / text1516.txt < prev    next >
Encoding:
Text File  |  1998-12-01  |  4.3 KB  |  98 lines

  1. Na wstêpie: poprzednie maile tego w±tku z listy WFMH-AmigaPL dostêpne s± pod
  2. http://amiga.com.pl/lists/
  3.  
  4. Dnia 30-Lis-98, Darek Smietana rzek³ co nastêpuje:
  5.  
  6. > Fragment kodu zrodlowego testu wyslalem na liste, aby uswiadomic tym,
  7. > ktorzy znaja sie cokolwiek na asemblerze, jak banalny i chodzacy na kazdej
  8. > karcie 68040/060 program (040test), wywraca sie na niektorych
  9. egzemplarzach
  10. > kart PPC. A tu kolejny programista szuka dziury w calym.
  11.  
  12. Ca³ym jak ca³ym. Po raz n-ty -- Commodore przestrzega³o przed u¿ywaniem
  13. move16 w Amidze. G³upio-m±dre odzywki o czerpaniu wiedzy z manuali od A500
  14. s± o tyle nie na miejscu, ¿e za czasów A500 o 68040 (a wiêc i o move16)
  15. nikt jeszcze nie s³ysza³. Nie ta dekada.
  16.  
  17. > Wyjasnie pewna wlasciwosc instrukcji move16: Instrukcja ta przesyla 4
  18. longi
  19. > pomiedzy obszarami adresowanymi w taki sposob, ze pierwszy z 4 kolejnych
  20. > adresow zrodla i celu ma najnizsze 4 bity adresowe rowne zeru.
  21. > To co ustawisz na 2 i 3 bicie adresu zrodla i celu nie ma najmniejszego
  22. > znaczenia dla sposobu wykonania sie tej instrukcji, jest ignorowane przez
  23. > procesor, ktory zawsze dla pierwszego longa zamienia te bity na niskie
  24. > stany linii adresowych. Dla nastepnych 3 longow procesor automatycznie
  25. > inkrementuje stan tych linii adresowych. Oznacza to oczywiscie, ze w
  26. > przypadku tej instrukcji zawartosc rejestrow adresowych nie musi byc
  27. zgodna
  28. > z adresem danych.
  29.  
  30. Mia³em wra¿enie, ¿e to w³a¶nie opisywa³ fragment manuala od 040, który
  31. postn±³em -- nowinka zatem ¿adna. Zechciej jednak zwróciæ uwagê, ¿e w Twoim
  32. te¶cie, w zale¿no¶ci od pocz±tkowej warto¶ci zmiennej BUFORF rejestry
  33. adresowe podczas dostêpu do FAST-u bêd± albo nie bêd± zgodne z adresem
  34. danych. To w³a¶nie dlatego pyta³em, czy tak samo sprytnie jest to
  35. rozwi±zane we w³a¶ciwym sterowniku, bo jak siê zapewne domy¶lasz jest to
  36. dosyæ istotne. Szkoda, ¿e ciachn±³e¶ nie odpowiadaj±c.
  37.  
  38.  
  39. > W programie tym adresy dla instrukcji move16 sa, wbrew temu co sadzisz,
  40. > przygotowane prawidlowo. To co wziales za "przyalignowanie" w tym tescie
  41. > jest akurat fragmentem kodu potrzebnego do czegos zupelnie innego.
  42.                                              ^^^^^^^^^^^^^^^^^^^^^^ ;)
  43. > (Wysylajac na liste kod zrodlowy napisalem bardzo wyraznie, ze jest to
  44. > uproszczona wersja bardziej rozbudowanego programu, i w kodzie zostalo
  45. > troche rzeczy z tego programu.)
  46.  
  47.          MOVE.L   BUFORC,D0
  48.          ADD.L #$10,D0
  49.          AND.L #$FFFFFFF0,D0
  50.          MOVE.L   D0,BUFORCM
  51.   
  52. Mo¿e rozpiszemy konkurs, có¿ to takiego? Player do modu³ów? Engine do Quake?
  53. No sam nie wiem...
  54.  
  55. Po co udawaæ greka, skoro bez tego kawa³ka kodu istnia³aby spora szansa, ¿e
  56. wyleziesz do³em poza bufor? Wiêc do czego on s³u¿y? Razem dzieci: do
  57. a-li-gno-wa-nia.
  58.  
  59.  
  60. > Napisales, ze w 50% wykonan tego testu adres jest "alignowany" wg. Ciebie 
  61. > niewlasciwie, a potem napisales, ze ten test nie robi u Ciebie krzakow. 
  62. > Nie zauwazyles, ze gdyby to "alignowanie" mialo dzialac tak jak sadzisz, 
  63. > to ten test by u Ciebie w 50% przypadkow nie przechodzil?
  64.  
  65. Jako konstruktor hardware powieniene¶ wiedzieæ, ¿e opieranie siê na
  66. nieudokumentowanych tudzie¿ zakazanych praktykach nie zawsze powoduje
  67. stuprocentowe niedzia³anie. Ja mam 060, mowa by³a o 040 i to starych. To co
  68. dzia³a u mnie, u kogo¶ mo¿e byæ powodem problemów.
  69.  
  70.  
  71. Czas poj±æ, ¿e nie jest niczyim celem wykazanie z³ych intencji Twoich czy
  72. Elboxu. Ale je¶li postujesz ¼ród³o, które z pewnych wzglêdów wydaje siê
  73. mocno podejrzane (dziwny align, brak nopa), racz przyj±æ krytykê powa¿nie i
  74. powa¿nie odpowiedzieæ -- byæ mo¿e rzeczywi¶cie masz racjê i rzeczy, które
  75. powinny dzia³aæ, nie dzia³aj±. Mo¿e wypracowaliby¶my wtedy razem jakie¶
  76. lepsze rozwi±zanie ni¿ RESCUE MODE powoduj±cy tak znaczny spadek
  77. wydajno¶ci.
  78.  
  79. Ale mo¿e te¿ byæ tak, ¿e co¶ przeoczy(³e¶/li¶cie) i jednak wina jest po
  80. Waszej stronie? Naprawdê my¶lisz, ¿e jeste¶ nieomylny?
  81.  
  82. Parê pytañ, w ramach konstruktywnej wspó³pracy:
  83.  
  84. - jak jest teraz rozwi±zany RESCUE MODE?
  85. - czy próbowali¶cie poprzedziæ pierwsze move16 w pêtli instrukcj± NOP? Po
  86. takiej poprawce wprowadzonej przez Adama "test" zacz±³ chodziæ jak nale¿y.
  87. - czy robili¶cie testy prêdko¶ciowe: move16 vs. zwyk³e move + sfreezowany
  88. cache do danych?
  89.  
  90.  
  91. Pozdrowienia,
  92. Mi³ek
  93. -- 
  94. mailto:thorgal@amiga.com.pl   |  "Man in the Moon and other weird things" -
  95. http://wfmh.org.pl/~thorgal/  |  see it at http://wfmh.org.pl/~thorgal/Moon/
  96.  
  97.  
  98.